/*
 *  LineFactory.h
 *  SoundController0002
 *
 *  Created by jiro on 10/06/29.
 *  Copyright 2010 jiro music. All rights reserved.
 *
 */

#pragma once

#include "Line.h"
#include "StraightLine.h"
#include "ConvexParabola.h"
#include "ConcateParabola.h"
#include <set>

namespace sc
{
	class LineFactory 
	{
	private:

		static std::set<StraightLine> straightLines;

		static std::set<ConvexParabola> convexParabolas;

		static std::set<ConcateParabola> concateParabolas;

	public:

		static const Line& Create( Line::Type type, double startX, double startY, double endX, double endY );
		
		static void DisposeInstance();

	};
}